#!/bin/bash

# 在线文档SDK - 文档部署脚本
# 用途：将文档部署到GitHub Pages、GitBook或其他在线平台

set -e

echo "🚀 开始部署文档..."

# 颜色定义
GREEN='\033[0;32m'
BLUE='\033[0;34m'
RED='\033[0;31m'
NC='\033[0m' # No Color

# 检查部署平台
PLATFORM=${1:-vuepress}

case $PLATFORM in
  vuepress)
    echo -e "${BLUE}📚 使用 VuePress 构建...${NC}"

    # 安装依赖（如果需要）
    if [ ! -d "node_modules" ]; then
      echo "📦 安装依赖..."
      npm install
    fi

    # 构建文档
    echo "🔨 构建文档..."
    npm run docs:build

    # 进入构建输出目录
    cd docs/.vuepress/dist

    # 如果是发布到自定义域名
    # echo 'docs.example.com' > CNAME

    git init
    git add -A
    git commit -m 'deploy: 更新文档'

    # 推送到 gh-pages 分支
    echo "📤 推送到 GitHub Pages..."
    git push -f git@github.com:srmt/document-sdk.git master:gh-pages

    cd -

    echo -e "${GREEN}✅ VuePress 文档部署成功！${NC}"
    echo "🌐 访问地址: https://srmt.github.io/document-sdk/"
    ;;

  gitbook)
    echo -e "${BLUE}📚 使用 GitBook 构建...${NC}"

    # 安装 GitBook CLI（如果需要）
    if ! command -v gitbook &> /dev/null; then
      npm install -g gitbook-cli
    fi

    # 构建文档
    echo "🔨 构建文档..."
    gitbook build docs ./build

    # 推送到服务器
    echo "📤 推送到服务器..."
    rsync -avz --delete ./build/ user@server:/var/www/docs/

    echo -e "${GREEN}✅ GitBook 文档部署成功！${NC}"
    ;;

  docusaurus)
    echo -e "${BLUE}📚 使用 Docusaurus 构建...${NC}"

    # 构建文档
    echo "🔨 构建文档..."
    npm run build

    # 部署
    echo "📤 部署文档..."
    npm run deploy

    echo -e "${GREEN}✅ Docusaurus 文档部署成功！${NC}"
    ;;

  *)
    echo -e "${RED}❌ 不支持的平台: $PLATFORM${NC}"
    echo "支持的平台: vuepress, gitbook, docusaurus"
    exit 1
    ;;
esac

echo ""
echo -e "${GREEN}🎉 部署完成！${NC}"
